Refer to _LIBCPP_MSVC macro where applicable Replace preprocess conditions of defined(_MSC_VER) && !defined(__clang__) with defined(_LIBCPP_MSVC). NFC. Patch by Dave Lee! git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294171 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/__config b/include/__config index a70f8f0..10de952 100644 --- a/include/__config +++ b/include/__config 
@@ -929,7 +929,7 @@  # if defined(__GNUC__) && ((__GNUC__ >= 5) || (__GNUC__ == 4 && \  (__GNUC_MINOR__ >= 3 || __GNUC_PATCHLEVEL__ >= 2))) && !defined(__GXX_RTTI)  # define _LIBCPP_NO_RTTI -# elif (defined(_MSC_VER) && !defined(__clang__)) && !defined(_CPPRTTI) +# elif defined(_LIBCPP_MSVC) && !defined(_CPPRTTI)  # define _LIBCPP_NO_RTTI  # endif  #endif 
diff --git a/include/__undef_min_max b/include/__undef_min_max index d3c3138..f4ca091 100644 --- a/include/__undef_min_max +++ b/include/__undef_min_max 
@@ -10,7 +10,7 @@    #ifdef min  #if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS) -#if defined(_MSC_VER) && ! defined(__clang__) +#if defined(_LIBCPP_MSVC)  _LIBCPP_WARNING("macro min is incompatible with C++. Try #define NOMINMAX "  "before any Windows header. #undefing min")  #else @@ -22,7 +22,7 @@    #ifdef max  #if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS) -#if defined(_MSC_VER) && ! defined(__clang__) +#if defined(_LIBCPP_MSVC)  _LIBCPP_WARNING("macro max is incompatible with C++. Try #define NOMINMAX "  "before any Windows header. #undefing max")  #else 
diff --git a/include/ext/hash_map b/include/ext/hash_map index 8998bec..fab36a1 100644 --- a/include/ext/hash_map +++ b/include/ext/hash_map 
@@ -207,7 +207,7 @@  #include <ext/__hash>    #if __DEPRECATED -#if defined(_MSC_VER) && ! defined(__clang__) +#if defined(_LIBCPP_MSVC)  _LIBCPP_WARNING("Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map>")  #else  # warning Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> 
diff --git a/include/ext/hash_set b/include/ext/hash_set index 7c6a8bf..916ed69 100644 --- a/include/ext/hash_set +++ b/include/ext/hash_set 
@@ -199,7 +199,7 @@  #include <ext/__hash>    #if __DEPRECATED -#if defined(_MSC_VER) && ! defined(__clang__) +#if defined(_LIBCPP_MSVC)  _LIBCPP_WARNING("Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set>")  #else  # warning Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> 
diff --git a/src/exception.cpp b/src/exception.cpp index f25041d..35a3a9a 100644 --- a/src/exception.cpp +++ b/src/exception.cpp 
@@ -138,7 +138,7 @@  #elif defined(_LIBCPP_ABI_MICROSOFT)  return __uncaught_exceptions();  #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC)  _LIBCPP_WARNING("uncaught_exceptions not yet implemented")  # else  # warning uncaught_exception not yet implemented @@ -211,7 +211,7 @@  #elif defined(__GLIBCXX__)  reinterpret_cast<__exception_ptr::exception_ptr*>(this)->~exception_ptr();  #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC)  _LIBCPP_WARNING("exception_ptr not yet implemented")  # else  # warning exception_ptr not yet implemented @@ -230,7 +230,7 @@  new (reinterpret_cast<void*>(this)) __exception_ptr::exception_ptr(  reinterpret_cast<const __exception_ptr::exception_ptr&>(other));  #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC)  _LIBCPP_WARNING("exception_ptr not yet implemented")  # else  # warning exception_ptr not yet implemented @@ -255,7 +255,7 @@  reinterpret_cast<const __exception_ptr::exception_ptr&>(other);  return *this;  #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC)  _LIBCPP_WARNING("exception_ptr not yet implemented")  # else  # warning exception_ptr not yet implemented @@ -299,7 +299,7 @@  ptr.__ptr_ = __cxa_current_primary_exception();  return ptr;  #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC)  _LIBCPP_WARNING( "exception_ptr not yet implemented" )  # else  # warning exception_ptr not yet implemented @@ -321,7 +321,7 @@  #elif defined(__GLIBCXX__)  rethrow_exception(reinterpret_cast<__exception_ptr::exception_ptr&>(p));  #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC)  _LIBCPP_WARNING("exception_ptr not yet implemented")  # else  # warning exception_ptr not yet implemented 
diff --git a/src/include/atomic_support.h b/src/include/atomic_support.h index af0f5f5..378541b 100644 --- a/src/include/atomic_support.h +++ b/src/include/atomic_support.h 
@@ -29,7 +29,7 @@  #endif    #if !defined(_LIBCPP_HAS_ATOMIC_BUILTINS) && !defined(_LIBCPP_HAS_NO_THREADS) -# if defined(_MSC_VER) && !defined(__clang__) +# if defined(_LIBCPP_MSVC)  _LIBCPP_WARNING("Building libc++ without __atomic builtins is unsupported")  # else  # warning Building libc++ without __atomic builtins is unsupported 
diff --git a/src/thread.cpp b/src/thread.cpp index c471b5c..afa8e16 100644 --- a/src/thread.cpp +++ b/src/thread.cpp 
@@ -99,7 +99,7 @@  #else // defined(CTL_HW) && defined(HW_NCPU)  // TODO: grovel through /proc or check cpuid on x86 and similar  // instructions on other architectures. -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC)  _LIBCPP_WARNING("hardware_concurrency not yet implemented")  # else  # warning hardware_concurrency not yet implemented